package com.personal.service;

import com.personal.bo.AddResourcesBO;
import com.personal.bo.CommentListBO;
import com.personal.bo.NewResourcesBO;
import com.personal.bo.NewResourcesByCatBO;
import com.personal.po.ResourcesViewPO;
import com.personal.pojo.Resources;
import com.personal.utils.Result;
import com.personal.vo.ResourcesVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

public interface ResourcesService {
    /**
     * 分页查询最新的资源文章消息
     * @param newResourcesBO
     * @return
     */
    Result queryNewResources(NewResourcesBO newResourcesBO);

    /**
     * 通过资源文章id查询资源详情
     * @param id
     * @return
     */
    Result queryResourcesById(Integer id);

    /**
     * 查询评价等级数量
     * @return
     */
    Result queryCommonLevelCount(Integer id);

    /**'
     * 查询资源文章评价列表
     * @param commentListBO
     * @return
     */
    Result queryResourcesCommentList(CommentListBO commentListBO);

    /**
     * 获取所有的资源文章id
     * @return
     */
    List<Long> getAllResourcesId();

    /**
     * 通过资源id查询资源浏览量
     * @param resourcesId
     * @return
     */
    ResourcesViewPO getById(Long resourcesId);

    /**
     * 更新资源浏览量
     * @param resourcesViewPo
     * @return
     */
    int updateResourcesView(ResourcesViewPO resourcesViewPo);

    /**
     * 通过参数查询最新的资源文章
     * @param newResourcesByCatBO
     * @return
     */
    Result queryNewResourcesByCatAndLimit(NewResourcesByCatBO newResourcesByCatBO);

    /**
     * 通过id获取资源
     * @return
     */
    Resources getResourcesById(Integer resourcesId);

    /**
     * 添加资源文章（后台）
     * @param addResourcesBO
     * @return
     */
    Result addResources(MultipartFile[] resourcesImgs,AddResourcesBO addResourcesBO) throws Exception;
}
